from django.contrib.auth import logout
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render

from blog.models import User
import hashlib
from django.dispatch import Signal


# Create your views here.
def login_view(request):
     if request.method == 'GET':
         if request.session.get('username')and request.session.get('uuid'):
             return HttpResponse('see已登录')
         elif request.COOKIES.get('username')and request.COOKIES.get('uuid'):
             request.session.get['username'] = request.COOKIES.get['username']
             request.session.get['uuid'] = request.COOKIES.get['uuid']
             return HttpResponse('cook已登录')

         return render(request, 'login.html')
     if request.method == 'POST':
         username = request.POST['username']
         password = request.POST['password']
         try:
             user = User.objects.get(username=username)
         except Exception as e:
             return HttpResponse('用户名不存在')
         try:
             md = hashlib.md5()
             md.update(password.encode())
             md_password = md.hexdigest()
             if md_password != user.password:
                 return HttpResponse('密码错误')
         except Exception as e:
             print(f'密码异常{e}')
             return HttpResponse('密码异常')

         request.session['username'] = username
         request.session['uuid'] = user.id
         resp = HttpResponse('登陆成功')
         if 'remember' in request.POST:
             resp.set_cookie('username',username,3600*24*7)
             resp.set_cookie('uid', user.id, 3600 * 24 * 7)
         return resp





def reg_view(request):
    if request.method == 'GET':
        return render(request, 'register.html')
    elif request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        old_users = User.objects.filter(username=username)
        if old_users:
            return HttpResponse('用户名己注册')
        m = hashlib.md5()
        m.update(password.encode())
        password = m.hexdigest()
        # print(username, password)
        User.objects.create(username=username, password=password)
        request.session['username'] = username
        return HttpResponseRedirect('/blog/index/')

def index(request):
    return render(request,'index.html')

def logout_view(request):
    logout(request)
    return HttpResponseRedirect('/blog/index')